本文以网站访问日志为例,为您介绍完整的数据加工流程,帮助您快速熟悉数据加工功能及其操作。
准备工作
已创建名为web-project的Project。具体操作,请参见管理Project。
在Project(web-project)中创建名为website_log的源Logstore。具体操作,请参见管理Logstore。
已采集网站访问日志到源Logstore(website_log)。具体操作,请参见数据采集概述。
在Project(web-project)中创建目标Logstore(website_fail)。
如果您使用的是RAM用户,则需要先授予RAM用户数据加工操作权限。具体操作,请参见授予RAM用户数据加工操作权限。
已配置源Logstore和目标Logstore的索引。具体操作,请参见创建索引。
数据加工任务不依赖索引,但若不配置索引,将无法执行查询和分析操作。
背景信息
某网站将其所有的访问日志存储在Logstore(website_log)中,目前为了提升用户体验,需要对用户访问错误进行分析。所以,需求是将访问状态码为4XX的访问日志筛选出来,同时过滤掉访问的用户个人信息,并将结果写入新的Logstore(website_fail),提供给业务分析人员使用。日志样例如下:
body_bytes_sent: 1061
http_user_agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5
remote_addr: 192.0.2.2
remote_user: vd_yw
request_method: GET
request_uri: /request/path-1/file-5
status: 400
time_local: 10/Jun/2021:19:10:59
error: Invalid time range
步骤一:创建数据加工任务
登录日志服务控制台。
进入数据加工页面。
在Project列表区域,单击目标Project。
在 页签中,单击目标Logstore。
在查询与分析页面,单击数据加工。
在页面右上角,选择数据的时间范围。
选择时间范围后,请确认原始日志页签中存在日志。
在编辑框中,输入如下加工SPL规则。
* | extend status=cast(status as BIGINT) | where status>=0 AND status<500 | project-away remote_addr, remote_user
调试SPL规则。
从原始数据中选择测试数据,或者手动填入测试数据。
点击▷,执行调试运行。
查看预览结果。
创建数据加工任务。
单击保存数据加工(新版)。
在创建数据加工任务(新版)面板中,配置如下信息,然后单击确定。
参数
说明
任务名称
数据加工任务的名称。
显示名称
数据加工显示的名称。
任务描述
数据加工任务的描述。
授权方式
您可以通过如下方式授予数据加工任务读取源Logstore中数据的权限。
默认角色:授予数据加工任务使用阿里云系统角色AliyunLogETLRole来读取源Logstore中的数据。单击授权系统角色AliyunLogETLRole,根据页面提示完成授权。更多信息,请参见通过默认角色访问数据。
重要如果您使用的是RAM用户,需要由阿里云账号先完成授权。
已完成授权的阿里云账号,无需再次授权。
自定义角色:授予数据加工任务使用自定义角色来读取源Logstore中的数据。
您需先授予自定义角色读取源Logstore数据的权限,然后在角色ARN中输入您自定义角色的ARN。如何授权,请参见通过自定义角色访问数据。
密钥:授予数据加工任务使用阿里云账号或RAM用户的访问密钥来读取源Logstore中的数据。
阿里云主账户:阿里云账号的访问密钥具备源Logstore数据读取权限,您在AccessKey ID和AccessKey Secret中输入阿里云账号的访问密钥即可。如何获取访问密钥,请参见访问密钥。
RAM用户:您需先授予RAM用户读取源Logstore数据的权限,然后在AccessKey ID和AccessKey Secret中输入RAM用户的访问密钥。如何授权,请参见通过访问密钥访问数据。
存储目标
目标名称
存储目标的名称。存储目标中包括Project、Logstore等配置。
目标Region
选择目标Project所在地域。
重要数据加工(新版)目前仅支持同地域传输。
目标Project
用于存储数据加工结果的目标Project名称。
目标库
用于存储数据加工结果的目标Logstore名称。
授权方式
您可以通过如下方式授予数据加工任务写目标Logstore的权限。
默认角色:授予数据加工任务使用阿里云系统角色AliyunLogETLRole将数据加工结果写入目标Logstore。 单击授权系统角色AliyunLogETLRole,根据页面提示完成授权。更多信息,请参见通过默认角色访问数据。
重要如果您使用的是RAM用户,需要由阿里云账号先完成授权。
已完成授权的阿里云账号,无需再次授权。
自定义角色:授予数据加工任务使用自定义角色将数据加工结果写入目标Logstore。您需先授予自定义角色写数据到目标Logstore的权限,然后在角色ARN中输入您自定义角色的ARN。如何授权,请参见通过自定义角色访问数据。
密钥:授予数据加工任务使用阿里云账号或RAM用户的访问密钥将数据加工结果写入目标Logstore。
阿里云主账户:阿里云账号的访问密钥具备写数据到目标Logstore的权限,您在AccessKey ID和AccessKey Secret中输入阿里云账号的访问密钥即可。如何获取访问密钥,请参见访问密钥。
RAM用户:您需先授予RAM用户写数据到目标Logstore的权限,然后在AccessKey ID和AccessKey Secret中输入RAM用户的访问密钥。如何授权,请参见通过访问密钥访问数据。
写入结果集
需要写入至当前目标Logstore的SPL规则处理结果集。支持
__UNNAMED__
,表示所有未命名的结果集。加工范围
时间范围
(数据接收时间)
指定数据加工任务的时间范围,详细说明如下:
所有:从Logstore接收到第一条日志的时间点开始数据加工任务,直到加工任务被手动停止。
某时间开始:指定数据加工任务的开始时间,从该时间点开始加工,直到加工任务被手动停止。
特定时间范围:指定数据加工任务的起止时间,加工任务执行到指定时间后自动停止。
高级选项
高级参数配置
对于加工语句中需要使用的密码信息(例如数据库连接密码),日志服务支持使用键值对形式保存在密钥对中,即您可以在加工语句中通过
res_local("key")
进行引用。单击+,可添加多个键值对。例如config.vpc.vpc_id.test1:vpc-uf6mskb0b****n9yj,表示RDS实例所属的专有网络ID。
进入目标Logstore(website_fail),执行查询和分析操作。具体操作,请参见查询和分析日志。
步骤二:观测数据加工任务
在左侧导航栏中,选择
。在加工任务列表中,单击目标加工任务。
在数据加工概览(新版)页面,查看数据加工任务详情。您可以查看任务详情与状态,修改、启动、停止和删除任务等。具体操作,请参见管理数据加工(新版)任务。也可以观测任务运行状态和运行指标,具体操作,请参见观测与监控数据加工(新版)任务。